package https

import "strings"

// 通过url 得到文件名字
func GetNameFromUrl(url string) string {
	arr := strings.Split(url, "/")
	return arr[len(arr)-1]
}

// 获取URL中的域名部分
// 要求：格式必须为http/https开头的完整网址
func GetDomainFromUrl(url *string) string {
	return strings.Split(*url, "//")[0] + "//" + strings.Split(strings.Split(*url, "//")[1], "/")[0]
}

// 根据域名生成一个新的域名
// old_url: 当前页面的域名, 即跟域名
// new_url: 当前页面的链接, 即页面链接
func GetUrl(old_url, new_url string) string {
	if new_url[0:1] == "/" {
		if new_url[0:2] == "//" {
			// 如果是//表示该域名走的和old_url为同一协议
			if (len(strings.Split(strings.Split(strings.Split(new_url, "//")[1], "/")[0], ".")) > 1) {
				// 如果是正常域名
				return strings.Split(old_url, "//")[0] + new_url
			} else {
				return GetDomainFromUrl(&old_url) + new_url[1:]
			}
		}
		return GetDomainFromUrl(&old_url) + new_url
	} else if new_url[0:4] == "http" {
		return new_url
	} else if (len(strings.Split(old_url, "?")) > 1) {
		// 截取?前面的地址信息
		old_url = strings.Split(old_url, "?")[0]
	}
	// 旧域名为纯文件域名, 无参数信息
	if old_url[len(old_url)-1:] == "/" {
		return old_url + new_url
	} else {
		return old_url[0:strings.LastIndex(old_url, "/")+1] + new_url
	}
}
